package com.lianxi.dao;



public interface IBaseDao<T> {

    int add(T t);

	String addUUID(T t);

    void update(T t);

    T load(int id);

    T get(int id);

    /**
     * 得到脱管状态的对象，目的是更改字段内容后不影响数据库中的，更改的内容仅供展示使用
     * @param id
     * @return
     */
    T getDetached(int id);

    void delete(int id);

    /**
     * 默认分页, limit 0, 15
     *
     * @param hql    查询语句
     * @param params 查询条件
     * @param pager  分页dto
     * @return
     */
    Pager defaultPagerList(String hql, Object[] params, Pager pager);

    /**
     * 根据开始索引, 每页大小查询
     *
     * @param hql    查询语句
     * @param params 查询条件
     * @param pager  分页dto
     * @return
     */
    Pager findByPager(String hql, Object[] params, Pager pager);

    /**
     * 根据开始索引, 每页大小查询
     *
     * @param hql    查询语句
     * @param params 查询条件
     * @param pager  分页dto
     * @return
     */
    Pager findByPagerManyIn(String hql, Object[] params, Pager pager);


}
